\chapter*{前言}\label{sec-preface}
\markboth{前言}{前言}

正则表达式是一种有效的字符串匹配策略，它在程序设计中有着重要的作用。特别是
在数据有效性校验、字符串提取等程序开发工作中经常会用到正则表达式。

本书基于GNU Regex库提供的GNU用户界面、POSIX用户界面和BSD用户界面的正则
处理API，说明了在纯C环境下使用正则表达式的基本方法。并通过整数有效性判断、
电话号码有效性判断、整数重复数字判断、找最亲近同学、比压牌和牌型分类等6个
典型应用示例演示使用GNU Regex正则库解决实际问题的方法。

本书并未系统讲解C语言语法，仅针对GNU Regex提供的正则库的使用方式进行了简单
说明。旨在让已经具备C语言基础的读者能够使用正则表达式处理实际问题。
同时也可以为承担\cl{}程序设计教学的教师提供必要的参考。

本书的撰写基于笔者编写的《说C解C》中提出的内存观、代码观和调试观的程序设计
\enquote{三观}的理念，并参阅了大量在线资料和共享文档。本书采用了
ElegantBook \LaTeX{}模板实现排版。在此一并表示原作者表示衷心的感谢！

鉴于笔者的学识水平有限，书中谬误之处在所难免，敬请读者不吝指正。

\vfill
\begin{flushright}
  \newlength{\lablen}
  \setlength{\lablen}{\widthof{\today}}
  \makebox[\the\lablen][c]{耿楠}\\
  \makebox[\the\lablen][c]{\today}\\
  \makebox[\the\lablen][c]{陕西杨凌}
\end{flushright}
\vfill
